<?php


namespace App\Traits\Controllers;

use Illuminate\Http\Request;

Trait ShowTraits
{
    /**
     * 详情
     *
     * @param $id
     * @param Request $request
     * @return \Dingo\Api\Http\Response
     */
    public function show($id)
    {
        $show = $this->getQuery()->findOrFail($id);// findOrFail 查找失败时抛出异常404

        if ($this->policy) {
            $this->authorize('show', $show);
            // authorize 控制器授权  当你尝试授权一个动作并且在用户不允许执行给定动作时抛出授权异常
            //那么使用authorize()方法，会在异常时返回一个异常403响应错误。
        }


        return $this->response->item($show, resolve($this->transformer));
    }

}
